Apache Derby হল একটি Java-ভিত্তিক এমবেডেড ডেটাবেস, যা সাধারণত ছোট অ্যাপ্লিকেশনের জন্য ব্যবহৃত হয়। যদিও এটি একটি হালকা ডেটাবেস, তবে এটি ক্লাউড পরিবেশে ডেপ্লয়মেন্ট করার জন্য কিছু নির্দিষ্ট কৌশল এবং কনফিগারেশন প্রয়োজন। Apache Derby এর মূল উদ্দেশ্য হলো ডেটাবেসকে সহজভাবে এমবেড করা এবং সেটি ক্লাউড সার্ভারে ব্যাবহার করা, যেখানে আপনাকে সার্ভার বা ক্লাউড পরিবেশে অতিরিক্ত রিসোর্সের প্রয়োজন নেই।
Apache Derby ক্লাউডে ডেপ্লয় করার জন্য প্রধানত দুটি পদ্ধতি রয়েছে:
নিচে বিস্তারিতভাবে আলোচনা করা হলো।
Apache Derby ডেটাবেসটি আপনার পছন্দের ক্লাউড সার্ভিসে চালানো যেতে পারে, যেমন:
Derby Network Server চালু করুন:
$DERBY_HOME/bin/startNetworkServer.sh
startNetworkServer
স্ক্রিপ্টটি চালানোর মাধ্যমে নেটওয়ার্ক সার্ভার সক্রিয় হবে এবং আপনি ক্লাউডে সংযোগ করতে পারবেন।Docker একটি জনপ্রিয় কন্টেইনারাইজেশন প্ল্যাটফর্ম, যা আপনাকে ডেটাবেসটি একটি কন্টেইনারে ডিপ্লয় করার সুবিধা দেয়। Docker ব্যবহার করে আপনার ডেটাবেস খুব সহজে পোর্টেবল এবং স্কেলেবল হতে পারে, বিশেষত ক্লাউডে।
Docker Image তৈরি করা:
Dockerfile
হতে পারে:# Use official Java base image
FROM openjdk:8-jre
# Set Derby version
ENV DERBY_VERSION 10.15.2.0
ENV DERBY_HOME /opt/derby
# Download and install Apache Derby
RUN wget http://apache.mirror.digitalpacific.com.au/db/derby/db-derby-${DERBY_VERSION}/db-derby-${DERBY_VERSION}-bin.tar.gz && \
tar -xvzf db-derby-${DERBY_VERSION}-bin.tar.gz && \
mv db-derby-${DERBY_VERSION} ${DERBY_HOME}
# Set the working directory
WORKDIR ${DERBY_HOME}/bin
# Expose Derby port
EXPOSE 1527
# Start the Derby Network Server
CMD ["./startNetworkServer.sh"]
Dockerfile তৈরি করার পর, এটি বিল্ড করুন:
docker build -t derby-server .
এরপর Docker কনটেইনারে Derby ডেটাবেস চালু করুন:
docker run -d -p 1527:1527 --name derby-container derby-server
আপনি আপনার অ্যাপ্লিকেশন বা ডেভেলপমেন্ট পরিবেশ থেকে JDBC এর মাধ্যমে Derby ডেটাবেস অ্যাক্সেস করতে পারবেন:
Connection conn = DriverManager.getConnection("jdbc:derby://<server-ip>:1527/myDB;create=true");
আপনি যদি আপনার ডেটাবেস পরিচালনা আরও সহজ করতে চান, তবে কিছু ক্লাউড ডেটাবেস ম্যানেজমেন্ট সিস্টেম যেমন Amazon RDS, Google Cloud SQL, বা Azure SQL Database ব্যবহার করতে পারেন। যদিও এই সিস্টেমগুলো মূলত বড় RDBMS (MySQL, PostgreSQL, SQL Server) সমর্থন করে, তবে আপনি Apache Derby কে Cloud Storage বা persistent volumes এ মাউন্ট করে ব্যবহার করতে পারেন।
ক্লাউডে ডেটাবেসের নিরাপত্তা নিশ্চিত করতে SSL/TLS প্রোটোকল ব্যবহৃত হতে পারে। নিচে Apache Derby এ SSL সক্রিয় করার পদ্ধতি:
Java keystore ব্যবহার করে SSL সার্টিফিকেট তৈরি করুন:
keytool -genkey -keyalg RSA -alias derby -keystore mydb.keystore -validity 365 -storepass password -keypass password
derby.properties ফাইলে:
derby.database.defaultConnectionMode=networkServer
derby.locks.escalationThreshold=100
derby.protocol=ssl
derby.ssl.keystore=mydb.keystore
derby.ssl.keystorePassword=password
ডেটাবেস সার্ভারের মাধ্যমে SSL সক্রিয় করে থাকলে আপনি JDBC URL এ SSL অপশন যোগ করতে হবে:
String url = "jdbc:derby://<server-ip>:1527/myDB;sslConnection=true";
Connection conn = DriverManager.getConnection(url);
Apache Derby ডেটাবেস ক্লাউডে ডেপ্লয় করার জন্য আপনি standalone cloud servers বা Docker containers ব্যবহার করতে পারেন। ক্লাউড ডেপ্লয়মেন্টের ক্ষেত্রে আপনাকে:
এভাবে আপনি Apache Derby ক্লাউডে ডেপ্লয় করে আপনার অ্যাপ্লিকেশনকে আরও শক্তিশালী এবং সুরক্ষিত করতে পারেন।
common.read_more